iT邦幫忙

2026 iThome 鐵人賽

DAY 30
0

先補上第四週的小結,再回頭看這 30 天。

第四週小結

Day 主題 一句話
22 擊穿與雪崩 熱門的 key 一過期,50 個人一起去查 DB,加了互斥鎖只剩 1 個人查;TTL 加隨機秒數防雪崩
23 快取一致性 先改 DB 再刪快取,快取還是會有一小段時間跟 DB 不一樣
24 分散式鎖 過期時間一起設、刪之前確認是自己的,做太久交給看門狗
25 秒殺:重現超賣 先讀再寫,100 件賣出 2308 件;改用 Lua 扣,剛好 100 件
26 秒殺:限流與削峰 門口先擋掉多的,搶到的排隊慢慢寫 DB
27 大 Key 與熱 Key 刪 100 萬筆的大 Key 卡了 88 毫秒;熱 Key 讀多就 App 自己存一份,寫多就拆成好幾個 key
28 監控與調校 命中率、連線數、記憶體碎片,INFO 都看得到;常用 MULTI、Pipeline 就加連線池,碎片多就開 activedefrag
29 分散式鎖的極限 主節點換手的時候,兩個人可能拿到同一把鎖

Day 22–23 是快取,Day 24–26 是很多人搶同一個東西,Day 27–28 是上線之後要顧的,Day 29 回頭看 Redis 出事的時候鎖還靠不靠得住。

學習總結

主題 Day 在處理什麼
資料型別 4–10 東西要用哪種型別放
內部機制 3、11–13 為什麼快、資料一大就換結構、過期的 key 什麼時候刪、記憶體滿了怎麼辦
持久化、主從與叢集 14–18 資料不要掉、機器掛了有人接、一台不夠用
指令一起做 19–20 省來回、中間不被插隊
快取 21–23 查不存在的、熱門的剛好過期、一大批同時過期、跟 DB 對不上
併發與秒殺 24–26、29 很多人同時搶同一個東西、Redis 出事的時候鎖還靠不靠得住
上線之後 27–28 找出拖慢的 key、看懂 INFO、加連線池、整理記憶體碎片

感想

不知不覺到了最後一天了,其實每天學一點新知識真的不錯,有種踏實的感覺。

從最初只知道 Redis 是拿來做快取,到後期越了解就越佩服,在還沒有 AI 幫忙寫程式的年代,就已經有人做出這麼複雜的東西。

透過這次鐵人賽讓我對 Redis 有更深入的了解,這也是我第一次堅持 30 天學習一項技術。

期許自己能夠保持這個精神,持續學習更多新知。

謝謝一路看到這裡的大家/images/emoticon/emoticon29.gif


上一篇
Day 29|分散式鎖的極限
系列文
從購物車到秒殺:30 天 Redis 高併發自學筆記 共 30 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言